Contract-Oriented Software Development for Internet Services
نویسندگان
چکیده
47 As recently as several years ago, technology gurus predicted that the next big trend in software system development would be service-oriented architecture: that is, a successful integration of loosely coupled services belonging to different organisations, sometimes competing but on specific tasks collaborating , would storm the world. This would create a myriad of new business opportunities, enabling the formation of virtual organisations in which small and medium-sized enterprises would join forces to thrive in an increasingly competitive global market. The dream lives on, and the industry is pouring resources into developing and deploying Web services. Yet the degree of integration achieved between different organisations remains low. Collaboration presumes mutual trust, and wherever trust is not considered sufficient, business people turn to contracts as a mechanism to reduce risk. In other words, for the SOA to deliver its promised advantages, developers need cost-effective contract management solutions. The main problems and open issues identified for supporting Web services development are the following: 1. Formal definition of generic contracts: currently, no unified system of syntax and semantics exists for contracts (in particular for quality of service (QoS) and security). 2. Negotiable and monitorable contracts: a contract must be negotiated until both parties agree on its final form, and it must be monitorable in the sense that there must be a way to detect violations. Current programming languages provide little support for negotiable and monitorable contracts. 3. Combination of object-orientation and concurrency models based on asynchronous message-passing. The shared-state concurrency model is not suitable for Web service development. 4. Integration of XML into a host language, reducing the distance between XML and object data models. 5. Harmonious coexistence at the language level of real-time and inheritance mechanisms. 6. Verification of contract properties: the integration of contracts in a programming language should be accompanied by the ability to guarantee essential properties. Guaranteeing the non-violation of contracts can be done in (at least) four different ways: (a) with runtime enforcement (eg through monitors); (b) by construction (eg through low-level language mechanisms); (c) with static program analysis techniques; or (d) through model checking. None of the above can be used as a universal tool; they must be combined. In addressing these issues and problems , we need to develop a model of contracts in an SOA that is broad enough to cater for at least QoS and security contracts. A basic requirement is the ability to …
منابع مشابه
Icsoc/servicewave 2009 Phd Symposium Organization Phd Symposium Chairs Verification of Services Specified in Bpel
This project investigates, implements and evaluates tool support for analysis of SOA-Based service contracts using Model Checking. The specification language for the contract is Business Process Execution Language (BPEL). It captures the behavior of services and allows developers to compose services without dependence on any particular implementation technology. A behavior specification is extr...
متن کاملAspect-Monitor - An Aspect-based Approach to WS-contract Monitoring
Contract monitoring is carried out to ensure the Quality of Services (QoS) attributes and levels specified in an electronic contract throughout a business process enactment. This paper proposes an approach to improve QoS monitoring based on the aspect-oriented paradigm. Monitoring concerns are encapsulated into aspects to be executed when specific process points are reached. Differently from ot...
متن کاملاندازهگیری کمّی کیفیت در مهندسی نرمافزار سرویسگرا: روشها، کاربردها و چالشها
Service-oriented software engineering (SOSE) enables rapid and cost-efficient development of distributed software even in heterogeneous environments where deliver its solutions as services. SOSE aims at providing methods and tools to enhance the quality of products and make software development as beneficial as possible. A challenging issue in SOSE is providing services with the required qualit...
متن کاملImproving device-aware Web services and their mobile clients through an aspect-oriented, model-driven approach
Context: Mobile devices have become an essential element in our daily lives, even for connecting to the Internet. Consequently, Web services have become extremely important when offering services through the Internet. However, current Web services are very inflexible as regards their invocation from different types of device, especially if we consider the need for them to be adaptable when bein...
متن کاملModeling Services using Contracts Identifying Dependencies in Service–Oriented Architectures
Design by contract is a well-established paradigm in software engineering. Bertrand Meyer first introduced the rigorous distinction between the responsibilities of service provider and service consumer for fine grain software artifacts (classes). This paper considers service contracts in the context of service-oriented architecture for complex enterprise information infrastructures. Identifying...
متن کاملModel-Driven Reengineering Legacy Software Systems to Web Services
The advancement of internet technology enables legacy software systems to be reused across geographical boundaries. Web Services (WS) have emerged as a new component-based software development paradigm in a network-centric environment based on the Service Oriented Architecture (SOA), the open standard description language XML and transportation protocol HTML. Therefore, legacy software systems ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- ERCIM News
دوره 2008 شماره
صفحات -
تاریخ انتشار 2008